It is sometimes desired to execute many separate applications on a single data processing system. If the separate applications are designed to execute in disparate data processing environments (hardware architecture, operating system, etc.), and in particular for those applications that are designed to execute in a data processing environment different from that provided by the data processing system on which the applications are to run, virtualization is sometimes used. Virtualization is accomplished by a host data processing system executing software that virtualizes a data processing environment in which an application is designed to run. Virtualization can offer a reliable method for executing many individual applications—requiring possibly different execution environments—within a single data processing system. However, virtualization techniques are not easily applied to some types of data processing systems, and in particular service terminals such as ‘self-service’ type interactive kiosks.